perm filename HALHEL[HAL,HE] blob
sn#089650 filedate 1975-05-07 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00012 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00005 00002 COMMENT β Definition of terms
C00008 00003 MUMBLE Classes
C00010 00004 MUMBLE Productions
C00012 00005 MOVE: TO →→ SCAN ↑TO ¬MOVE
C00015 00006 TRAC: LOC →→ SCAN ¬TRAC1
C00018 00007 SEXPR: SG ↑SEXP1 ¬SEXP3
C00020 00008 MUMBLE Conditional Compilation Statements
C00026 00009 MUMBLE Macro DEFINE handling
C00029 00010 Q1: SG →→ SCAN ¬STM
C00031 00011 <END>
C00032 00012
C00041 ENDMK
C⊗;
COMMENT β Definition of terms
MUMBLE
Beware the Halhel in Space.
Gray Lensman
;
<SYMBOLS>
; SEMI ← LARW , COMA ) RPRN ( LPRN - MINUS { SIMO } SIMC
[ LBR ] RBR + PLS * TMS / SLSH . DOT | VERT ⊗ ATSTRT
< LES > GRE = EQU ≠ NEQ ≥ GEQ ≤ LEQ @ ATNOW ¬ NOT : COLN
∨ OR ∧ AND ⊃ IMPL
↑ UPAR ↓ DNAR
<TERMINALS>
< > ≠ = | ¬ * / ; ← , ) ( @ ⊗ : - { } [ ] + ≥ ≤
∧ ∨ ⊃
I IVB ISV IAR ILB ICN IPR STC
MUMBLE
IVB Simple arithmetic variable identifier
ISV simple string variable identifier
IAR array identifier
ILB label identifier
ICN arithmetic constant
IPR procedure identifier
STC string constant
I untyped identifier
;
<RESERVED-WORDS>
RETURN ELSE WHILE DO THEN STEP SOURCE_FILE LOAD_MODULE REQUIRE UNTIL
BEGIN IF GOTO COMMENT PROCEDURE ARRAY SCALAR END FOR ABS
DIV MOD BOOLEAN LABEL DEFINE REDEFINE EVALDEFINE EVALREDEFINE
NOMAC TRUE FALSE IFC THENC ELSEC ENDC WHILEC FORC DOC STEPC UNTILC
IFCR FORLC CASEC ASSIGNC OFC
MUMBLE Here are the HAL unique reserved words;
STOP DONE MOVE GO TO TRACING MAINTAINING ORIENTATION FROM VIA
USING DURING MEANWHILE YELLOW BLUE APPROACH DEPARTURE DEPROACH
FORCE FREE MASS LOCATION BY TOLERANCE SEARCH ACROSS NORMAL_TO
INCREMENT REPEATING ON CENTER DRIVE ASSERT AT VECTOR
FRAME TRANS STRING DEF_WRT FIX_WRT FIXDEF_WRT
UNITS CM INCHES JIFFIES SECONDS MILLISECONDS KG GM LBS OZ RADIANS
DEGREES BOLLES EULER PLANE ATTACH LOC ORIENT WITHIN DURATION
<NON-TERMINAL-SYMBOLS>
MUMBLE I will put these in when I need them;
SEXP FEXP BEXP VEXP E
BLAT STBLAT
MUMBLE The following are for conditional compilation;
CFLS1 CTRU1 WHILC EOFIL DPL WDPL CDPL FLDPL FRDPL CFLS2 CTRU2 NOCOND NOMORE
MUMBLE Classes;
<CLASSES>
@ALGLTP LABEL SCALAR FRAME TRANS VECTOR STRING MUMBLE Algol types;
@WRT FIXDEF_WRT DEF_WRT FIX_WRT MUMBLE With-respect-to operators;
@UNOPE NOT ABS + - MUMBLE Unary operators;
@RL < > = ≠ ≤ ≥ MUMBLE Relations;
@ALG SCALAR FRAME TRANS VECTOR STRING BOOLEAN MUMBLE Algol types;
@DCL LABEL SCALAR STRING PROCEDURE DEFINE REDEFINE EVALDEFINE
EVALREDEFINE NOMAC UNITS FRAME TRANS PLANE FIXDEF_WRT DEF_WRT FIX_WRT
@REQ SOURCE_FILE
@I IVB ISV IAR ILB ICN IPR STC
@WRTTP VECTOR FRAME PLANE
@FRAME IVB YELLOW BLUE @ ⊗
@ARM YELLOW BLUE
@EQ ≤ ≥
@S01 ↑
@S02 / *
@S03 + -
@SL1 ↑ * / + -
@SL2 * / + -
@SL3 + -
@F01 ↓
@F02 * /
@F03 + -
@FL1 ↓ * / + -
@FL2 * / + -
@FL3 + -
MUMBLE These are needed for conditional compilation and macros;
@THT THEN THENC
@CONBG IFC IFCR WHILEC CASEC FORC FORLC
@DOCA DO DOC
@STEPCA STEP STEPC
@UNTLCA UNTIL UNTILC
@OFCA OFC
@CTRUE CTRU1 CTRU2
@CFALSE CFLS1 CFLS2
@EQC LARW EQU
@IDD @RESERVED @IDQ I
MUMBLE Productions;
<PRODUCTIONS>
BB0: SG →→ BLAT SG ↑STM ¬DONE
STM: SG →→ STBLAT SG ¬STM1
STM1: ILB : →→ SCAN ¬STM1
BEGIN →→ SCAN ↑CPSTM ¬SDONE
MOVE @FRAME →→ SCAN ↑MOVE ¬SDONE
GO @FRAME →→ SCAN ↑GO ¬SDONE
CENTER @ARM →→ SCAN ↑CENTER ¬SDONE
SEARCH @FRAME →→ SCAN ↑SEARCH ¬SDONE
STOP @FRAME →→ SCAN ¬SDONE
ASSERT @FRAME →→ SCAN ↑ASSERT ¬SDONE
ATTACH @FRAME →→ SCAN ↑ATTACH ¬SDONE
IF SG →→ SG ↑IF ¬SDONE
FOR IVB →→ SCAN ↑FORP ¬SDONE
IVB ← →→ SCAN ↑ASSGN ¬SDONE
; ¬SDONE #Q1
SDONE: STBLAT SG →→ SG ↓↓ #Q9
CPSTM: STC →→ SCAN ¬CPSTM1
CPSTM1: @ALGLTP →→ SCAN ↑DS0 ¬CPSTM2
SG ↑STM ¬CPSTM2
CPSTM2: ; →→ SCAN ¬CPSTM1
END →→ SCAN ↓↓ #Q10
MUMBLE Declaration must be processed;
DS0: @WRTTP ( SCAN ¬WRT
ARRAY →→ ¬DAR
IDQ: I →→ SCAN ¬IDLIST
SEMI: ; SCAN ↓↓
IDLIST: , →→ SCAN ¬IDQ
[ →→ SCAN 3 ¬BNDS #Q3
WRT: @WRT →→ SCAN ¬WRT1 #NOWRT
WRT1: IVB →→ SCAN ¬WRT #Q4
NOWRT: ) →→ SCAN ¬DS1 #Q5
BNDS: IVB : IVB →→ SCAN ¬BNDS1 #Q6
BDNS1: , →→ SCAN 3 ¬BNDS
] →→ SCAN ¬SEMI #Q7
DONE: BLAT →→ ¬DONE #Q8
MOVE: TO →→ SCAN ↑TO ¬MOVE
TRACING →→ SCAN ↑TRAC ¬MOVE
MAINTAINING →→ SCAN ↑MAINT ¬MOVE
FROM →→ SCAN ↑FROM ¬MOVE
VIA →→ SCAN ↑VIA ¬MOVE
USING →→ SCAN 2 ↑USING ¬MOVE
DURING →→ SCAN ↑DURING ¬MOVE
ON →→ SCAN ↑ON ¬MOVE
MEANWHILE →→ SCAN ↑MEANW ¬MOVE
SG ↓↓
GO: TO →→ SCAN ↑TO ¬GO
FROM →→ SCAN ↑FROM ¬GO
VIA →→ SCAN ↑VIA ¬GO
USING →→ SCAN ↑USING ¬GO
DURING →→ SCAN ↑DURING ¬GO
ON →→ SCAN ↑ON ¬GO
MEANWHILE →→ SCAN ↑MEANW ¬GO
SG ↓↓
CENTER: ACROSS →→ SCAN ↑ACROS ¬CENTER
NORMAL_TO →→ SCAN ↑NORMT ¬CENTER
DURING →→ SCAN ↑DURING ¬CENTER
ON →→ SCAN ↑ON ¬CENTER
SG ↓↓
SEARCH: ACROSS →→ SCAN ↑ACROS ¬SEARCH
NORMAL_TO →→ SCAN ↑NORMT ¬SEARCH
DURING →→ SCAN ↑DURING ¬SEARCH
ON →→ SCAN ↑ON ¬SEARCH
INCREMENT →→ SCAN ↑INCR ¬SEARCH
REPEATING →→ SCAN ↑REPT ¬SEARCH
FROM →→ SCAN ↑FROM ¬SEARCH
THEN →→ SCAN ↑STM ¬SEARCH
SG ↓↓
ASSERT: AT →→ SCAN ¬ASRT1 #Q20
ASRT1: @FRAME →→ SCAN ↓↓ #Q21
ATTACH: TO →→ SCAN ¬ATTC1 #Q22
ATTC1: @FRAME →→ SCAN ↓↓ #Q23
IF: SG ↑BEXPR ¬IF1
IF1: THEN →→ SCAN ¬IF2 #Q24
IF2: SG ↑STM ¬IF3
IF3: ELSE →→ SCAN ¬IF4
SG ↓↓
IF4: SG ↑STM ¬IF5
IF5: SG ↓↓
FORP: ← →→ SCAN ↑SEXPR ¬FOR1 #Q25
FOR1: STEP →→ SCAN ↑SEXPR ¬FOR2 #Q26
FOR2: UNTIL →→ SCAN ↑SEXPR ¬FOR3 #Q27
FOR3: DO →→ SCAN ↑STM ¬FOR4 #Q28
FOR4: SG ↓↓
ASSGN: SG ↑EXPR ¬ASSGN1
ASSGN1: SG ↓↓
TO: SG ↑FEXPR ¬TO1
TO1: THEN →→ SCAN ↑STM ¬TO2 #TO2
TO2: SG ↓↓
TRAC: LOC →→ SCAN ¬TRAC1
SG ↑PFEXPR ¬TRAC2
TRAC1: = →→ SCAN ↑PVEXPR ¬TRAC3 #Q29
TRAC3: , →→ SCAN 2 ¬TRAC4 #Q30
TRAC4: ORIENT = →→ SCAN ↑POEXPR ¬TRAC2 #Q31
TRAC2: FOR →→ SCAN 2 ¬TRAC5 #Q32
TRAC5: IVB ← →→ SCAN ↑SEXPR ¬TRAC6 #Q33
TRAC6: BY →→ SCAN ↑SEXPR ¬TRAC7 #Q34
TRAC7: UNTIL →→ SCAN ↑SEXPR ¬TRAC8 #Q35
TRAC8: WITHIN →→ SCAN ↑VEXPR ¬TRAC9 #TRAC9
TRAC9: SG ↓↓
MAINT: ORIENTATION →→ SCAN ¬MAINT1 #Q36
MAINT1: SG ↓↓
FROM: SG ↑FEXPR ¬FROM1
FROM1: SG ↓↓
VIA: SG ↑FEXPR ¬VIA1
VIA1: : →→ SCAN ↑DECOR ¬VIA2 #VIA2
VIA2: THEN →→ SCAN ↑STM ¬VIA3 #VIA3
VIA3: , →→ SCAN ¬VIA
SG ↓↓
USING: DURATION @EQ →→ SCAN ↑SEXPR ¬USING1
FORCE = →→ SCAN ↑VEXPR ¬USING1
FREE = →→ SCAN ↑VEXPR ¬USING1
DEPARTURE = →→ SCAN ↑VEXPR ¬USING1
APPROACH = →→ SCAN ↑VEXPR ¬USING1
DEPROACH = →→ SCAN ↑VEXPR ¬USING1
MASS = →→ SCAN ↑MEXPR ¬USING1
USING1: , →→ SCAN ¬USING
SG ↓↓
DURING: SG ↑STM ¬DURIN1
DURIN1: SG ↓↓
ON: SG ↑BEXPR ¬ON1
ON1: DO →→ SCAN ↑STM ¬ON2 #Q36
ON2: , →→ SCAN ¬ON
SG ↓↓
MEANW: SG ¬Q37
ACROS: SG ↑PEXPR ¬ACROS1
ACROS1: SG ↓↓
NORMT: SG ↑VEXPR ¬NORMT1
NORMT1: SG ↓↓
INCR: = →→ SCAN ↑SEXPR ¬INCR1 #Q38
INCR1: SG ↓↓
REPT: SG ↑STM ¬REPT1
REPT1: SG ↓↓
SEXPR: SG ↑SEXP1 ¬SEXP3
SEXP3: SEXP SG →→ SG ↓↓ #Q50
SEXP1: ICN →→ SEXP SCAN ¬SEXP1
IVB →→ SEXP SCAN ¬SEXP1
SEXP @S01 SEXP @SL1 →→ SEXP @SL1 SCAN ¬SEXP1
SEXP @S02 SEXP @SL2 →→ SEXP @SL2 SCAN ¬SEXP1
SEXP @S03 SEXP @SL3 →→ SEXP @SL3 SCAN ¬SEXP1
SEXP @SL1 SCAN ¬SEXP1
SEXP @SL1 SEXP SG →→ SEXP SG ¬SEXP1
SEXP SG ↓↓
( SCAN ↑SEXPR ¬SEXP2
SG ¬Q51
SEXP2: ( SEXP ) →→ SEXP SCAN ¬SEXP1 #Q52
FEXPR: SG ↑FEXP1 ¬FEXP3
FEXP3: FEXP SG →→ SG ↓↓ #Q53
FEXP1: ICN →→ FEXP SCAN ¬FEXP1
IVB →→ FEXP SCAN ¬FEXP1
FEXP @F01 FEXP @FL1 →→ FEXP @FL1 SCAN ¬FEXP1
FEXP @F02 FEXP @FL2 →→ FEXP @FL2 SCAN ¬FEXP1
FEXP @F03 FEXP @FL3 →→ FEXP @FL3 SCAN ¬FEXP1
FEXP @FL1 SCAN ¬FEXP1
FEXP @FL1 FEXP SG →→ FEXP SG ¬FEXP1
FEXP SG ↓↓
( SCAN ↑FEXPR ¬FEXP2
SG ¬Q54
FEXP2: ( FEXP ) →→ FEXP SCAN ¬FEXP1 #Q55
MUMBLE Conditional Compilation Statements;
IF0: IFC EXEC CPSHBT CPSHEY CNDRCN PSHLST ∞∞
SCAN ↑CONX ¬IF1
IF1: IFC E @THT →→ CTRU1 EXEC TWCOND CPOPBT POPLST ¬IF2 #XXQQ
IF2: CTRU1 EXEC TOMACN PRESUME ¬IF3
CFLS1 EXEC SWPOFF CPOPET PSHLST ∞∞
SCAN ¬IF4 #XXQQ
MUMBLE IF ABOVE LINE BOMBS, SOMETHING'S REALLY WRONG;
IF3: WDPL CTRU1 ENDC →→ WDPL ∞∞
EXEC SWICHM CPOPET PRESUME ↓↓
@CTRUE ENDC →→ EXEC CPOPET CNDRCP PRESUME ↓↓
CTRU1 ELSEC →→ CFLS2 EXEC SWPOFF CPOPET FRMACN PSHLST ∞∞
SCAN ¬IF4 #XXQQ
IF4: WDPL CFLS1 ENDC →→ EXEC FREMBW SWPON POPLST ∞∞
PRESUME ↓↓
@CFALSE ENDC →→ EXEC SWPON TOMACN CNDRCP POPLST ∞∞
PRESUME ↓↓
CFLS1 ELSEC →→ CTRU2 EXEC SWPON CPSHEY TOMACN POPLST ∞∞
PRESUME ¬IF3
NOCOND ENDC →→ SCAN ¬IF4
@CONBG →→ NOCOND SCAN ¬IF4
SG →→ SCAN ¬IF4 #XXQQ
IF5: IFCR →→ IFC EXEC CPSHBT CPSHEY CNDRCY PSHLST ∞∞
SCAN ↑CONX ¬IF1 #XXQQ
WH0: WHILEC →→ EXEC SETDLM CPSHBT CPSHEN PSHLST ∞∞
SCAN ¬WH1
WH1: STC EXEC OFFDLM SCAN ¬WH2
WH2: @DOCA →→ WDPL EXEC SETDLM DWPREP SCAN ↑CONX ¬WH3
WH3: STC WDPL SG ENDC →→ WDPL ∞∞
EXEC DFENT OFFDLM SETWHL CPOPBT CPOPET POPLST ∞∞
PRESUME ↓↓
CS0: CASEC EXEC CPSHBT CPSHEN PSHLST ∞∞
SCAN ↑CONX ¬CS1
CS1: CASEC E @OFCA →→ CDPL CTRU1 ∞∞
EXEC SETDLM SWPOFF CPOPET DCPREP ∞∞
¬CSB
CS2: CDPL CFLS1 SG , →→ CDPL CFLS1 ∞∞
EXEC TWCSCN ¬CSB
CDPL CFLS1 SG ENDC →→ EXEC FRMBCE OFFDLM SWPON TOMACN CPOPBT POPLST ∞∞
PRESUME ↓↓
CDPL CTRU1 SG , →→ CDPL CTRU1 ∞∞
EXEC DFENT1 OFFDLM SETCSE CPOPBT CPOPET POPLST ∞∞
PRESUME ¬CS3
CDPL CTRU1 SG ENDC →→ CDPL NOMORE ∞∞
EXEC DFENT1 OFFDLM SETCSE CPOPBT CPOPET POPLST ∞∞
PRESUME ¬CS4
@CONBG SG →→ SG NOCOND SCAN ↑CSA ¬CS2
CSA: NOCOND ENDC →→ SCAN ↓↓
@CONBG →→ NOCOND SCAN ↑CSA ¬CSA
SG →→ SCAN ¬CSA #XXQQ
CSB: CTRU1 SCAN ↑CONX ¬CS2
CFLS1 SCAN 2 ¬CS2 #TRAP
CS3: CDPL CTRU1 ENDC →→ CDPL CFLS1 ∞∞
EXEC FRMBCT SETDLM SWPOFF CPSHBT PSHLST ∞∞
SCAN 2 ¬CS2 #XXQQ
CS4: CDPL NOMORE ENDC →→ EXEC FREMBW OFFDLM SWPON ∞∞
PRESUME ↓↓ #XXQQ
FR0: FORC →→ FRDPL EXEC DWPREP CPSHBT CPSHEN PSHLST MACOFF ∞∞
SCAN ↑FM0 ¬FR1
FR1: SG @IDD @EQC →→ SG EXEC DFPINS SCAN ↑CONX ¬FR2
FR2: FRDPL E @STEPCA →→ FRDPL ∞∞
EXEC GTSTRT SCAN ↑CONX ¬FR3
FR3: FRDPL E @UNTLCA →→ FRDPL ∞∞
EXEC GTSTEP SCAN ↑CONX ¬FR4
FR4: FRDPL E @DOCA →→ CTRU1 FRDPL ∞∞
EXEC DFSET GETERM SETDLM ¬FR41
FR41: CTRU1 SG SCAN ↑CONX ¬FR5
CFLS1 SG EXEC SWPOFF CPOPET SCAN ↑CONX ¬FR51
FR5: CTRU1 FRDPL SG ENDC →→ FRDPL ∞∞
EXEC DFENT FFPOP OFFDLM SETFR CPOPBT CPOPET POPLST ∞∞
PRESUME ¬FR6
FR51: CFLS1 FRDPL SG ENDC →→ ∞∞
EXEC OFFDLM FREMBN SWPON CPOPBT POPLST ∞∞
PRESUME ↓↓
FR6: FRDPL ENDC →→ CTRU1 FRDPL ∞∞
EXEC TWNUM ¬FR7
FR7: CTRU1 FRDPL →→ FRDPL EXEC SWCHFR PRESUME ¬FR6
CFLS1 FRDPL →→ EXEC FREMBF PRESUME ↓↓
FL0: FORLC →→ FLDPL EXEC DWPREP CPSHBT CPSHEN PSHLST MACOFF ∞∞
SCAN ↑FM0 ¬FL1
FL1: SG @IDD @EQC →→ SG EXEC DFPINS GETACT SCAN ¬FL2
FL2: @DOCA →→ EXEC DFSET SETDLM SCAN ↑CONX ¬FL3
FL3: FLDPL SG ENDC →→ FLDPL EXEC DFENT FFPOP OFFDLM SETFL CPOPBT CPOPET POPLST ∞∞
PRESUME ¬FL4
FL4: FLDPL ENDC →→ CTRU1 FLDPL ∞∞
EXEC TWACT ¬FL5
FL5: CTRU1 FLDPL →→ FLDPL EXEC SWCHFL PRESUME ¬FL4
CFLS1 FLDPL →→ EXEC FREMBF PRESUME ↓↓
FM0: SG EXEC MACON SCAN ↓↓
MUMBLE Macro DEFINE handling;
DF0: DEFINE →→ EXEC MACOFF DLMPSH DPSHBT ∞∞
SCAN ¬DFR
DFR: @IDD →→ DPL EXEC DFPREP SCAN ¬DFR1 #Q4
DFR1: ( →→ EXEC MACOFF SCAN 2 ¬DPA #LEQ
DPA: SG @IDD , →→ SG EXEC DFPINS SCAN 2 ¬DPA
SG @IDD ; →→ SG EXEC DFPINS SCAN 2 ¬DPA
SG @IDD ) →→ SG EXEC MDFPNS SCAN ¬LEQ #Q4
LEQ: STC →→ EXEC SPDMBD SCAN ¬LEQ1
LEQ1: SG @EQC →→ SG EXEC DLMPOP DFSET SETDLM ∞∞
SCAN ↑CONX ¬DEQ #XXQQ
DEQ: DPL SG1 , →→ EXEC DFENT FFPOP ENDMAC EVMCOF OFFDLM DLMPSH ∞∞
SCAN ¬DFR
SG SG1 ; →→ EXEC DEFOFF DFENT FFPOP ENDMAC SWDLM OFFDLM DPOPBT ∞∞
↓↓ #Q20
RDF: REDEFINE →→ EXEC SETRDF MACOFF DLMPSH DPSHBT SCAN ¬DFR #XXQQ
EDF: EVALDEFINE →→ EXEC SETEDF DLMPSH DPSHBT SCAN ¬DFR #XXQQ
ERF: EVALREDEFINE →→ EVALDEFINE EXEC SETRDF ¬EDF #XXQQ
ASG: ASSIGNC →→ EXEC DLMPSH DPSHBT INTSCN ∞∞
SCAN ¬AS1
AS1: ICN →→ ASSIGNC EXEC ASGOFF SCAN ¬AS2 #Q116
AS2: STC →→ EXEC SPDMBD SCAN ¬AS3
AS3: SG = →→ SG EXEC DLMPOP DFSET SETDLM ∞∞
SCAN ↑CONX ¬AS4 #XXQQ
AS4: SG SG1 , →→ EXEC ASGENT FFPOP OFFDLM DLMPSH INTSCN ∞∞
SCAN ¬AS1
SG SG1 ; →→ EXEC ASGENT FFPOP SWDLM OFFDLM DPOPBT ∞∞
↓↓ #Q20
NMC: NOMAC →→ EXEC MACOFF SCAN ¬NM1 #XXQQ
NM1: I →→ EXEC MACON SCNBAK ↓↓ #Q118
Q1: SG →→ SCAN ¬STM
Q2: SG →→ SCAN ¬STM
Q3: SG →→ SCAN ¬STM
Q4: SG →→ SCAN ¬STM
Q5: SG →→ SCAN ¬STM
Q6: SG →→ SCAN ¬STM
Q7: SG →→ SCAN ¬STM
Q8: SG →→ SCAN ¬STM
Q9: SG →→ SCAN ¬STM
Q10: SG →→ SCAN ¬STM
Q20: SG →→ SCAN ¬STM
Q21: SG →→ SCAN ¬STM
Q22: SG →→ SCAN ¬STM
Q23: SG →→ SCAN ¬STM
Q24: SG →→ SCAN ¬STM
Q25: SG →→ SCAN ¬STM
Q26: SG →→ SCAN ¬STM
Q27: SG →→ SCAN ¬STM
Q28: SG →→ SCAN ¬STM
Q29: SG →→ SCAN ¬STM
Q30: SG →→ SCAN ¬STM
Q31: SG →→ SCAN ¬STM
Q32: SG →→ SCAN ¬STM
Q33: SG →→ SCAN ¬STM
Q34: SG →→ SCAN ¬STM
Q35: SG →→ SCAN ¬STM
Q36: SG →→ SCAN ¬STM
Q37: SG →→ SCAN ¬STM
Q38: SG →→ SCAN ¬STM
Q39: SG →→ SCAN ¬STM
Q50: SG →→ SCAN ¬STM
Q51: SG →→ SCAN ¬STM
Q52: SG →→ SCAN ¬STM
Q53: SG →→ SCAN ¬STM
Q54: SG →→ SCAN ¬STM
Q55: SG →→ SCAN ¬STM
Q56: SG →→ SCAN ¬STM
Q57: SG →→ SCAN ¬STM
Q58: SG →→ SCAN ¬STM
Q59: SG →→ SCAN ¬STM
MUMBLE ERROR PRODUCTION FOR TOO MANY ENDC'S;
Q117: SG →→ SCAN ¬STM
<END>
β